﻿; (function (root, factory) {
    var datatype = factory(root);
    if (typeof define === 'function' && define.amd) {
        // AMD
        define('template', function () {
            return template;
        });
    } else if (typeof exports === 'object') {
        // Node.js
        module.exports = datatype;
    } else {
        // Browser globals
        var _template = root.datatype;
        if (datatype) {
            datatype.noConflict = function () {
                if (root.datatype === datatype) {
                    root.datatype = _template;
                }

                return datatype;
            };
        }
        root.datatype = datatype;
    }
}(this, function (root) {
    'use strict';
    var _datatype = {
        'mysql2c#': {
            'varchar': 'string'
            , 'text': 'string'
            , 'number': 'decimal?'
            , 'int': 'int?'
            , 'smallint': 'int?'
            , 'datetime': 'DateTime?'
        }
    };

    var datatype = {};
    datatype.parse = function (o_type, type) {
        if (!o_type) {
            return '';
        }
        return _datatype[type || this.default.type][o_type] || o_type;
    }
    datatype.default = {
        type: 'mysql2c#'
    }
    datatype.version = '0.0.1';
    return datatype;
}));
